package game;



public class Constants {
	
	public static final String STRATEGY_TIT_FOR_TAT = "TIT-FOR-TAT";
	public static final String STRATEGY_JOSS = "JOSS";
	public static final String STRATEGY_TESTER = "TESTER";
	public static final String STRATEGY_ALL_D = "ALL-D";
	public static final String STRATEGY_RANDOM = "RANDOM";
	public static final String STRATEGY_ALL_C ="ALL-C";
	public static double AVALUE =  1.0;
	public static double K1VALUE = 0.05;
	public static double K2VALUE = 0.05;
	
	public static Integer NUM_OF_AGENTS = 500;
	public static Integer STRATEGY_DISTR_TYPE = 0; // 0 ->> Equally distributed , 3->> 90% -Defect, 10% -Cooperate
	public static Integer MARKET_TRANSITION_PROB = 1 ;
	public static String ENVIRONMENT_TOPOLOGY ; // GRID or CIRCLE if created in run time
	public static String TOPOLOGY_FILE_NAME; // if the topology given from a file
	public static float STABILITY_CRITERIA = (float) 0.2;
	public static Integer NUM_OF_TWO_AGENT_ENCNT = 1;
	
	public static Integer STRATEGY_ID;
	public static Integer GAME_ID = PayOffMatrix.PRISONERS_DILLEMMA; //PayOffMatrix.GAME_OF_CHICKEN;
	public static Integer RUN_ID ;
	public static Integer NUM_OF_ITERATION = 1500;
	public static Integer MESH_GENERATION_TYPE = 1;
	public static Integer AGENT_MOBILITY_MODE = 0; ///1->> Population success ratio based
	public static Integer ENCOUNTER_SCHEDULE_TYPE = 0; /// 0->> all encounters are performed
	public static Integer NUMBER_OF_SELECTED_AGENTS_TO_BE_MOVED = 3;
	public static double  SUCCESS_RATIO_FOR_AGENTS_NOT_BE_MOVED = 0.2;
	public static double  BVALUE = 0.5;
	public static int DIVERSITY_DISTR_TYPE = 0; // 1 -> Exp. distr. 2- > power law dist. 
	public static int NUM_OF_CONNS = 4;
	public static int STRATEGY_UPDATE = 0; // 0 -> Simulated annueling 1-> Sanstos' update mech.
	public static int MOBILITY = 0; // 0-> IMMOBILE 1-> MOBILE
	public static String OUTPUT_FILE_NAME ;
	
	
	public static String STRING_NUM_OF_AGENTS = "NUM_OF_AGENTS";
	public static String STRING_STRATEGY_DISTR_TYPE = "STRATEGY_DISTR_TYPE"; 
	public static String STRING_MARKET_TRANSITION_PROB = "MARKET_TRANSITION_PROB" ;
	public static String STRING_ENVIRONMENT_TOPOLOGY = "ENVIRONMENT_TOPOLOGY" ;
	public static String STRING_STABILITY_CRITERIA = "STABILITY_CRITERIA";
	public static String STRING_NUM_OF_TWO_AGENT_ENCNT = "NUM_OF_TWO_AGENT_ENCNT";
	public static String STRING_GAME_ID = "GAME_ID";
	public static String STRING_NUM_OF_ITERATION = "NUM_OF_ITERATION";
	public static String STRING_MESH_GENERATION_TYPE = "MESH_GENERATION_TYPE";
	public static String STRING_AGENT_MOBILITY_MODE = "AGENT_MOBILITY_MODE";
	public static String STRING_ENCOUNTER_SCHEDULE_TYPE = "ENCOUNTER_SCHEDULE_TYPE"; 
	public static String STRING_NUMBER_OF_SELECTED_AGENTS_TO_BE_MOVED = "NUMBER_OF_SELECTED_AGENTS_TO_BE_MOVED";
	public static String STRING_SUCCESS_RATIO_FOR_AGENTS_NOT_BE_MOVED = "SUCCESS_RATIO_FOR_AGENTS_NOT_BE_MOVED";
	public static String STRING_BVALUE = "BVALUE" ;
	public static String STRING_AVALUE = "AVALUE" ;
	public static String STRING_K1VALUE = "K1VALUE" ;
	public static String STRING_K2VALUE = "K2VALUE" ;
	public static String STRING_DIVERSITY_DISTR_TYPE = "DIVERSITY_DISTR_TYPE";
	public static String STRING_TOPOLOGY_FILE_NAME = "TOPOLOGY_FILE_NAME";
	public static String STRING_STRATEGY_UPDATE = "STRATEGY_UPDATE";
	public static String STRING_MOBILITY = "MOBILITY";

}
